#pragma once
#include <Rz/Object.h>
#include "EventArgs.h"
#include "IEventCallback.h"

namespace Rz {

class EventCallbackFunction
    : public Object
	, public IEventCallback
{
    public:
		RZ_RTTI(Rz, EventCallbackFunction);
		RZ_RTTI_IMPLEMENTS(Object, IEventCallback);
		RZ_RTTI_END;

        EventCallbackFunction(IEventCallback::FunctionType callback);
        virtual void Callback(Object& sender, EventArgs& e) override;

    private:
        IEventCallback::FunctionType _callback;
};

}
